This invention generally relates to the graphical representation of information.
A conventional two-dimensional graph plots (x,y) coordinate pairs of information along perpendicular X and Y coordinate axes. The X axis is generally a straight horizontal line having increasing values plotted from left and the Y axis is a straight vertical line having increasing values going from the bottom to the top of the axis. By plotting the (x,y) coordinate pairs, the underling information they represent can be visualized in two-dimensional space rather than simply raw values. To express a third dimension of information, an additional Z coordinate value is also included along with the (x,y) coordinate pair (e.g. an (x,y,z) coordinate system). The Z coordinate value is typically plotted along a Z axis running perpendicular to both the X and Y axes. The Z-axis is generally represented as a straight line perpendicular to a surface described by the X-axis and Y-axis.
The conventional graphical system typically plots either the two-dimensional or three-dimensional information on the X, Y, or X,Y, and Z axes to make the information more visually appealing. The axis against which each coordinate is plotted is kept straight and inflexible to ensure the resulting graph of information appears mathematically accurate. These conventional graphs may be used in time lines to plot events occurring over a course of time, temperature graphs to plot temperature variations over time, and in other instances where two or three dimensions of information must be displayed accurately.
Conventional graphing systems, however, cannot modify the shape of the axis while graphing points along the modified axis. For example, the straight axes used with conventional graphing systems are not designed to work with the curves and non-linear contours produced by graphic drawing packages. Further, conventional graphing systems do not facilitate repositioning of data points along an axis, which as been curved or changed into any shapes other than a straight line.
In one aspect of the invention, a method of associating objects according to one or more corresponding values includes assigning a value to each object in a set of one or more objects, providing a starting point and an end point on a non-linear contour, graduating points on the non-linear contour covering a range of values inclusive of the values associated with each of the objects, and associating each object in the set of objects along the non-linear contour according to the value assigned to the object and the corresponding value associated with a point along the non-linear contour.
Advantages provided by implementations of the invention include one or more of the following. Graphs are not limited to being placed on a linear axis. Instead, graphs can be placed on almost any non-linear contour that a graphical editor can produce. This allows a graphical editor to integrate graphs with a variety of shapes often used in the graphical editor. Further, the invention allows a non-linear contour to be reshaped and the positions of the data points recalculated and repositioned on the reshaped contour. For example, a user can adjust a non-linear curve using control handle and have objects attached to the non-linear contour automatically adjust to the new shape of the non-linear curve. Combinations of scales can be used on the non-linear curve depending on the values being used by the objects. These scales can include linear, logarithmic, logarithmic-logarithmic, and exponential. Again, implementations of the invention automatically adjust the position of the objects on the non-linear curve when the scales used on the non-linear curve change.